const winston = require('winston');

// 直接创建并配置日志实例（全局唯一）
const logger = winston.createLogger({
    level: process.env.LOG_LEVEL || 'info', // 支持通过环境变量动态设置级别
    format: winston.format.combine(
        winston.format.colorize({ all: true }),
        winston.format.timestamp({ format: 'YYYY-MM-DD HH:mm:ss' }),
        winston.format.printf(info => `[${info.timestamp}] [${info.level}] ${info.message}`)
    ),
    transports: [new winston.transports.Console()]
});

logger.emptyLine = function (count = 1) {
    // count 为换行次数（默认 1 次，传 2 则输出 2 个空行）
    const newLines = '\n'.repeat(count - 1);
    // 直接用 console.log 输出纯空行（绕过 winston 的格式处理）
    console.log(newLines);
};

// 直接导出实例（整个项目中唯一的日志实例）
module.exports = logger;
